<?php

// +----------------------------------------------------------------------

// | OneThink [ WE CAN DO IT JUST THINK IT ]

// +----------------------------------------------------------------------

// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.

// +----------------------------------------------------------------------

// | Author: yangweijie <yangweijiester@gmail.com> <code-tech.diandian.com>

// +----------------------------------------------------------------------





namespace Addons\SystemInfo;

use Common\Controller\Addon;



/**

 * 系统环境信息插件

 * @author thinkphp

 */



    class SystemInfoAddon extends Addon{



        public $info = array(

            'name'=>'SystemInfo',

            'title'=>'系统环境信息',

            'description'=>'用于显示一些服务器的信息',

            'status'=>1,

            'author'=>'thinkphp',

            'version'=>'0.1'

        );



        public function install(){

            return true;

        }



        public function uninstall(){

            return true;

        }



        //实现的AdminIndex钩子方法

        public function AdminIndex($param){

            $config = $this->getConfig();

            

            if(extension_loaded('curl')){

                $url = 'http://www.onethink.cn/index.php?m=home&c=check_version';

                $params = array(

                    'version' => ONETHINK_VERSION,

                    'domain'  => $_SERVER['HTTP_HOST'],

                    'auth'    => sha1(C('DATA_AUTH_KEY')),

                );

    

                $vars = http_build_query($params);

                $opts = array(

                    CURLOPT_TIMEOUT        => 5,

                    CURLOPT_RETURNTRANSFER => 1,

                    CURLOPT_URL            => $url,

                    CURLOPT_POST           => 1,

                    CURLOPT_POSTFIELDS     => $vars,

                    CURLOPT_USERAGENT      => $_SERVER['HTTP_USER_AGENT'],

                );

    

                /* 初始化并执行curl请求 */

                $ch = curl_init();

                curl_setopt_array($ch, $opts);

                $data  = curl_exec($ch);

                $error = curl_error($ch);

                curl_close($ch);

            }



            if(!empty($data) && strlen($data)<400 ){

                $config['new_version'] = $data;

            }



            $this->assign('addons_config', $config);

            if($config['display']){

                $this->display('widget');

            }

        }

    }